Chess engine

A chess engine is a computer program that can play the game of chess.

Contents

Interface

Most chess engines do not have their own graphical user interface (GUI) but are rather console applications that communicate with a GUI such as XBoard (Linux), WinBoard (Windows) or Arena (Windows) via a standard protocol.

Protocols

The command line interface of GNU Chess became the initial de facto standard, called the Chess Engine Communication Protocol and first supported by XBoard. When XBoard was ported to the Windows operating system as WinBoard this protocol was popularly renamed to 'WinBoard Protocol'. The WinBoard Protocol was itself upgraded and the two versions of the protocols are referred to as: 'WinBoard Protocol 1' (original version) and 'WinBoard Protocol 2' (newer version). There is another protocol, the Universal Chess Interface. Some engines support both major protocols, and each protocol has its supporters. The Winboard Protocol is more popular but many chess engine developers feel that the Universal Chess Interface is easier to implement. Some interface programs, such as Arena, support both protocols whereas others, such as WinBoard, support only one and depend on subsidiary interpretors, such as Polyglot, to translate.

Increasing strength

Chess engines increase in playing strength each year. This is partly due to the increase in processing power that enables calculations to be made to ever greater depths in a given time. In addition, programming techniques have improved, enabling the engines to be more selective in the lines that they analyse and to acquire a better positional understanding.

Some chess engines use endgame tablebases to increase their playing strength during the endgame. An endgame tablebase is a database of all possible endgame positions with small groups of material. Each position is conclusively determined as a win, loss, or draw for the player whose turn it is to move, and the number of moves to the end with best play by both sides. Endgame tablebases in all cases identify the absolute best move in all positions included (identifying the move that wins fastest against perfect defense, or the move that loses slowest against optimal opposition). Such tablebases are available for all positions containing three to six pieces (counting the kings) and for some seven-piece combinations. When the maneuvering in an ending to achieve an irreversible improvement takes more moves than the horizon of calculation of a chess engine, an engine is not guaranteed to find the best move without the use of an endgame tablebase, and in many cases can fall foul of the fifty-move rule as a result.

Many engines use permanent brain as a method to increase their strength.

Comparisons

Tournaments

The results of computer tournaments give one view of the relative strengths of chess engines. However, tournaments do not play a statistically significant number of games for accurate strength determination. In fact, the number of games that need to be played between fairly evenly matched engines, in order to achieve significance, runs into the thousands and is, therefore, impractical within the framework of a tournament [2]. Most tournaments also allow any types of hardware, so only engine/hardware combinations are being compared.

Historically, commercial programs have been the strongest engines. To some extent, this is a self-fulfilling prophecy; if an amateur engine wins a tournament or otherwise performs well (for example, Zappa in 2005), then it is quickly commercialized. Titles gained in these tournaments garner much prestige for the winning programs, and are thus used for marketing purposes.

Ratings

Chess engine rating lists aim to provide statistically significant measures of relative engine strength. These lists play multiple games between engines on standard hardware platforms, so that processor differences are factored out. Some also standardize the opening books, in an attempt to measure the strength differences of the engines only. These lists not only provide a ranking, but also margins of error on the given ratings. Also rating lists typically play games continuously, publishing many updates per year, compared to tournaments which only take place annually.

There are a number of factors that vary among the chess engine rating lists:

These differences affect the results, and make direct comparisons between rating lists difficult.

Rating list Time control
(moves/minutes)
Year
started
Last updated Engine/platform
entries
Games
played
Top three engines Rating
CCRL[1] 40/40[2]
Ponder OFF
2005 November 30, 2011 234 363,201 Houdini 2.0 x64 4CPU
Rybka 4.1 x64 4CPU
Critter 1.2 x64 4CPU
3335
3264
3259
CEGT[3] 40/20[4]
Ponder OFF
2006 December 4, 2011 980 553,886 Houdini 1.5a x64 6CPU
Deep Rybka 4.1 x64 4CPU
Critter 1.2 x64 4CPU
3290
3242
3234
IPON[5] 5m+3s
~16min/game
Ponder ON
2006 December 30, 2011 95 161,200 Houdini 2.0 STD SSE4.2 x64 1CPU
Critter 1.4 SSE4.2 x64 1CPU
Komodo 4 SSE4.2 x64 1CPU
3016
2977
2975
SWCR[6] 40/10
Ponder ON
2009 December 1, 2011 66 150,247 Houdini 2.0c x64 1CPU
Rybka 4 x64 Exp. 42 1CPU
Komodo 3.0 x64 1CPU
3022
2967
2962
SSDF[7] 40/120
Ponder ON
1984 May 11, 2011 311 120,010 Deep Rybka 4 x64 4CPU
Naum 4.2 x64 4CPU
Deep Shredder 12 x64 4CPU
3216
3155
3115
WBEC[8] 40/40
Ponder ON
2001 May 15, 2011 226
(Historically: 850+[9])
100,749 Rybka 4 x64 2CPU
Stockfish 2.0.1 x64 2CPU
Thinker 5.5.4A1 x64 2CPU
3124
3121
3114

These ratings, although calculated by using the Elo system (or similar rating methods), have no direct relation to FIDE Elo ratings or to other chess federation ratings of human players. Except for some man versus machine games which the SSDF had organized many years ago (which were far from today's level), there is no calibration between any of these rating lists and player pools. Hence, the results which matter are the ranks and the differences between the ratings, not the absolute level of the numbers. Also, each list calibrates their Elo via a different method. Therefore no Elo comparisons can be made between the lists. Nevertheless, in view of recent man versus machine matches, it is generally undisputed that top computer chess engines should be rated at least in the range of top human performances, and probably significantly higher.

Missing from many rating lists are IPPOLIT and its derivatives (e.g. Fire [3]). Although very strong and open source, there are allegations from commercial software interests that they were derived from disassembled binary of Rybka.[10] Due to the controversy, all these engines have been blacklisted from many tournaments and rating lists. Although Rybka has been accused of being based on Fruit, it is not blacklisted from computer chess tournaments or rating lists.[11] In June 2011, Rybka was found guilty of being derived from Fruit and Crafty and Rybka has been banned from the ICGA (International Computer Games Association) World Computer Chess Championship, and its previous victories (2007, 2008, 2009, and 2010) has been revoked.[12] As a consequence of this some of the rating lists will stop including Rybka in their lists.

Also missing from some rating lists is Houdini, a very strong free engine by Robert Houdart that appeared in the middle of 2010. Houdini 1.5a has taken the top spot in the rating lists that include it.

Test suites

Engines can be tested by measuring their performance on specific positions. Typical is the use of test suites, where for each given position there is one best move to find. These positions can be geared towards positional, tactical or endgame play. The Nolot test suite, for instance, focuses on deep sacrifices.[13] Then there are the BT2450 and BT2630 test suites by Hubert Bednorz and Fred Toennissen. These suites measure the tactical capability of the engine[14] and have been used at least by REBEL.[15] There is also a general test suite called Brilliancy by Dana Turnmire. The suite has been compiled mostly from How to Reassess Your Chess Workbook.[16]

Strategic Test Suite (STS) by Swaminathan and Dann Corbit, tests chess engine's strategical strength.[17]

Categorizations

Freely available

There are hundreds of freely available chess engines which conform to one of the above communication protocols. Many run on Windows or are open source. The top 50 strongest, freely available engines are listed here.[18] Others may be found by examining the rating lists or external links.

Engine (strongest version) Author (Country) Elo
Alaric v707 Peter Fendrich (Sweden) 2763
Alfil v11 Enrique Sanchez (Spain) 2700
Bison v9.11 Ivan Bonkin (Russia) 2825
Booot v5.1.0 Alex Morozov (Ukraine) 2951
Bright v0.4a Allard Siemelink (Netherlands) 3003
(4CPU)
BugChess2 v1.7 Francois and Jean-Philippe Karr (France) 2800
(32-bit)
Chronos v1.9.9 Guillermo Filia (Argentina) 2849
(64-bit)
Colossus 2008b Martin Bryant (England) 2745
Crafty v23.3 Robert Hyatt (US) 2950
(64-bit 4CPU)
Critter v1.4 Richard Vida (Slovakia) 3305
(64-bit 4CPU)
Cyclone v3.4 Fabien Letouzey (France), Thomas Gaksch, Norman Schmidt 2971
(2CPU)
Cyrano v0.6b17 Harald Johnsen (France) 2748
Daydreamer v1.75 Aaron Becker (USA) 2783
(32-bit)
Delfi v5.4 Fabio Cavicchio (Italy) 2825
(2CPU)
Deuterium 10.01.27.213 Ferdinand Mosca (Philippines) 2770
Doch v1.2 Don Dayley (USA) 2991
(64-bit)
E.T. Chess 13.01.08 Eric Triki (France) 2749
Fire v1.31 Norman Schmidt (USA) 3260
Frenzee Feb08 Sune Fischer (Denmark) 2799
(32-bit)
Fruit v2.3.1 Fabien Letouzey (France), Ryan Benitez (USA) 2887
Glaurung v2.2 Tord Romstad (Norway) 3003
(64-bit 4CPU)
Grapefruit v1.0 Fabien Letouzey (France), Thomas Gaksch (Germany), Vadim Demichev 2977
(32-bit 2CPU)
Gull v1.2 Vadim Demichev (Russia) 3038
(64-bit)
Hamsters v0.7.1 Alessandro Scotti (Italy) 2723
Hannibal v1.0a Edsel Apostol (Philippines), Sam Hamilton (USA) 2941
(64-bit)
Houdini v1.5a Robert Houdart (Belgium) 3309
IvanHoe v9.47b Yakov Petrovich Golyadkin, Igor Igorovich Igoronov, Robert Pescatore, Yusuf Ralf Weisskopf, Ivan Skavinsky Skavar 3270
Jonny v4.00 Johannes Zwanzger (Germany) 2955
(4CPU)
Komodo v3.0 Don Dailey 3280
(64-bit)
List v5.12
(last free version)
Fritz Reul (Germany) 2720
Loop 13.6 (Loop 2007)
(last free version)
Fritz Reul (Germany) 2943
(64-bit 4CPU)
Movei v00.8.438 (10 10 10) Uri Blass (Israel) 2773
Naraku v1.4 Marco Meloni (Italy) 2820
Naum v2.0
(last free version)
Aleksandar Naumov (Serbia/Canada) 2802
(64-bit)
Pharaon v3.5.1 Franck Zibi (France) 2744
(2CPU)
Pro Deo v1.2
(freeware version of the commercial program Rebel)
Ed Schröder (Netherlands) 2720
Protector v1.3.6 Raimund Heid (Germany) 3070
(64-bit)
Rybka v.2.2n2
(last free version)
Vasik Rajlich (Czech Republic) 3126
(64-bit 4CPU)
Scorpio v2.7 Daniel Shawul (Ethiopia) 2851
(32-bit)
Slow Chess Blitz WV2.1 Jonathan Kreuzer (US) 2741
Spark v1.0 Allard Siemelink (Netherlands) 3097
(64-bit 4CPU)
Spike v1.4 Leiden Volker Böhm and Ralf Schäfer (Germany) 3149
Stockfish v2.1.1 Tord Romstad (Norway), Marco Costalba (Italy) & Joona Kiiski (Finland) 3259
(64-bit 4CPU)
TheMadPrune v1.1.25 Fabien Letouzey (France), WH Lowery Jnr (USA) 2978
(2CPU)
Thinker v5.4C Inert Lance Perkins (Canada) 3029
(64-bit)
Toga II v1.4.1SE Derived from Fruit v2.1 by Fabien Letouzey (France), Thomas Gaksch (Germany) 3007
(4CPU)
Tornado v4.4 Engin Ustun (Germany) 2840
(32-bit)
Twisted Logic 20100131x Edsel Apostol (Philippines) 2874
(64-bit)
Umko v1.0 Borko Boskovic (Slovenia) 2906
(32-bit)
Wildcat v8 Igor Korshunov (Belarus) 2731
Zappa v1.1
(latest free version)
Anthony Cozzie (US) 2712
(64-bit)

Pedagogical

These open source chess programs were expressly written to teach the craft of chess programming.

There is also source-available proprietary software.

These small programs are written for hobby or to win programming contests, currently able to play all legal chess moves although with limited text interface.

Commercial

These chess programs are sold commercially. Most of these also include their own user interface.

Private

Name Author Country
ApiChess Max Himam France
Azraël Christopher Conkie United Kingdom
Carnivor Michael Sherwin USA
Cheetah Ralf Schäfer Germany
Chepla Mikael Bäckman Sweden
Chimp Andy Duplain United Kingdom
Chiron Ubaldo Andrea Farina Italy
Cipollino Giancarlo delli Colli Italy
Cogito Joerg Schaefer Germany
Cowrie Chess Chan Rasjid Singapore
Czolgista Tomasz Kazimierski Poland
Diep Vincent Diepeveen The Netherlands
Dr. Theopolis Corby Nichols USA
EdlChess Stephan Edlich Germany
EGM Pawel Kobylarz Poland
Eichhörnchen Wieland Belka Germany
Ferret
past winner of the World Computer Speed Chess Championship
Bruce Moreland USA
Flywheel Don Cross USA
Freccia Stefano Gemma Italy
Grok Peter Kappler USA
HansDamf Gerd Isenberg Germany
Hector for Chess Csaba Jergler Hungary
Ikarus
past winner of the World Computer Speed Chess Championship
Kallisto Bart Weststrate Netherlands
LearningLemming Sam Hamilton USA
MeneChess Shaun Howe United Kingdom
Moneypenny Matt Shoemaker USA
NaltaP312 Yves Catineau France
Nightmare Joost Buijs Netherlands
Now Mark Lefler USA
Nullmover Michael Langeveld Netherlands
Olympus Joshua Shriver USA
Pandix Gyula Horváth Hungary
Pebble Adam Goodwin USA
Philidor Christian Barreteau and Bruno Lucas France
Purple Haze Vincent Ollivier France
Sibyl Milikas Anastasios Greece
Sillycon Lasse Hansen Norway
Spandrel Robert Purves New Zealand
Symbolic Steven Edwards USA
Telepath Charles Roberson USA
Tinker Brian Richardson USA
TwilightChess Tony Paletta France
Tzunami Ivo Tops Netherlands
Vlad Tepes Henk Fennema Netherlands
WaDuuttie Maarten Claessens Netherlands
Waster Geoff Westwood United Kingdom
Weid Jaap Weidemann South Africa
XiniX Tony van Roon-Werten Netherlands
Z Manuel Díaz Spain
Zeta Srdja Matovic Montenegro
Ziggurat David Norris United States
Zilch Mike Leany USA

Dedicated hardware

These chess playing systems include custom hardware or run on supercomputers. All are historical; chess supercomputers have not competed in computer tournaments since Hydra played in 2006.

Commercial dedicated computers

In the 1980s and early 1990s, there was a competitive market for strong dedicated chess computers. Many form-factors were sold, from handheld peg-board computers to wooden auto-sensory boards with state-of-the-art processors. This market changed in the mid-90s when the economical embedded processors in dedicated chess computers could no longer compete with the fast processors in personal computers. Nowadays, most dedicated units sold are of beginner and intermediate strength.

Historical

These chess programs run on obsolete hardware.

See also

Notes and references

External links